package com.ktwlsoft.archivemanage.payload.customAnalysis;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 自助分析图表新增
 *
 * @author zhuhe on 2019/11/27 16:32
 * @version 1.0
 */
@ApiModel("自助分析图表新增")
@Getter
@Setter
public class CustomAnalysisSaveRequest {

    /**图表名称**/
    @ApiModelProperty("图表名称")
    @NotNull(message = "图表名称不能为空")
    @Size(max = 30,message = "图表名称应该在30个字符以内")
    private String chartName;

    /**分析类型:1.单指标单维度,2.单指标多维度,3.多指标多维度**/
    @ApiModelProperty("分析类型:1.单指标单维度,2.单指标多维度,3.多指标多维度")
    @NotNull(message = "分析类型不能为空")
    private Integer analysisType;

    /**选择日期开始**/
    @ApiModelProperty("选择日期开始")
    private Date selectionDateStart;

    /**选择日期结束**/
    @ApiModelProperty("选择日期结束")
    private Date selectionDateEnd;

    /**指导人**/
    @ApiModelProperty("指导人")
    private String guidancePeople;

    /**指导人id**/
    @ApiModelProperty("指导人id")
    private Long guidancePeopleId;

    /**得分-最小分数**/
    @ApiModelProperty("得分-最小分数")
    private BigDecimal minScore;

    /**得分-最大分数**/
    @ApiModelProperty("得分-最大分数")
    private BigDecimal maxScore;

    /**图表样式:HISTOGRAM(柱状图),PIE_CHART(饼图),BROKEN_LINE_DIAGRAM(折线图),MANY_HISTOGRAM(多柱状图)、MANY_BROKEN_LINE_DIAGRAM多折线图**/
    @ApiModelProperty("图表样式:HISTOGRAM(柱状图),PIE_CHART(饼图),BROKEN_LINE_DIAGRAM(折线图),MANY_HISTOGRAM(多柱状图)、MANY_BROKEN_LINE_DIAGRAM多折线图")
    @NotNull(message = "图表样式不能为空")
    private String chartStyle;

    /**维度集合*/
    @ApiModelProperty("维度集合")
    @Valid
    private List<AnalysisDimensionSaveRequest> dimensionSaves;

    /**指标集合*/
    @ApiModelProperty("指标集合")
    @Valid
    private List<AnalysisIndexSaveRequest> indexSaves;
}